/**
 * Created by zhaoxk on 2017/2/24.
 */
import React from 'react';
import { connect } from 'dva';
import Table from '../../../components/table';

function Operator({ data, dispatch, patient: { tableShow } }) {
    const cols = [
        {
            title: '手术日期',
            dataIndex: 'date',
        }, {
            title: '手术名称',
            dataIndex: 'name',
        }, {
            title: '手术医生',
            dataIndex: 'doctor',
        },
    ];

    /*
     * 从业务层变更当前展开的tbody项;
     * 这有些违背'顶层容器型组件直接绑定state'的原则，直接将state绑定至展示组件上；
     * 虽然功能可以实现，但是不利于统一管理state，和代码阅读，由但是省去了将回调绑定至容器型组件逐级下传的麻烦；
     */
    const onPress = (tableType) => (index) => {
        dispatch({
            type: 'patient/toggleTableShow',
            payload: {
                tableType,
                index,
            }
        });
    };
    return (
        <Table
            data={data}
            cols={cols}
            onPress={onPress.bind(null, 'operator')()}
            openIndex={tableShow.check}
        />
    );
}

function mapStateToProps({ patient }) {
    return { patient };
}

export default connect(mapStateToProps)(Operator);
